package avicit.bdp.dms.tdm.dao;

import avicit.bdp.common.base.BaseDAO;
import avicit.bdp.dms.tdm.dto.AssetApplyDTO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @金航数码科技有限责任公司
 * @作者：${tableInfo.classCreator}
 * @邮箱：${tableInfo.classMailbox}
 * @创建时间： 2023-11-14 16:03
 * @类说明：bdp_asset_applyDao
 * @修改记录：
 */
@Repository
public interface AssetApplyDao extends BaseDAO<AssetApplyDTO> {

    /**
     * 分页查询资产申请
     *
     * @return 分页列表
     */
    Page<AssetApplyDTO> getApplyPageList(@Param("assetId") String assetId,
                                         @Param("wordSecret") String wordSecret);

    /**
     * 查询资产申请信息
     * @param assetId
     * @param applyPerson
     * @return
     */
    AssetApplyDTO getApplyByPerson(@Param("assetId") String assetId,
                                   @Param("applyPerson") String applyPerson);
    /**
     * 查询已经审批后的申请信息列表
     *
     * @param	assetIdList
     * @return java.util.List<avicit.bdp.dms.tdm.dto.AssetApplyDTO>
     *
     */
    List<AssetApplyDTO> getApplyListByIds(@Param("assetIdList") List<String> assetIdList, @Param("loginUserId") String loginUserId);

    /**
     * 查询已经审批后的申请信息列表
     *
     * @param assetIdList
     * @return java.util.List<avicit.bdp.dms.tdm.dto.AssetApplyDTO>
     */
    List<AssetApplyDTO> getCheckedApplyListByIds(@Param("assetIdList") List<String> assetIdList, @Param("loginUserId") String loginUserId);

    List<AssetApplyDTO> queryApplyButton(@Param("assetId") String assetId, @Param("loginUserId") String loginUserId);

    Long getApplyStateByUserId(@Param("createdBy") String createdBy, @Param("assetId") String assetId, @Param("applicationId") String applicationId);

    AssetApplyDTO selectApply(@Param("id") String businessId);
}